package org.papiez.guice.extension.dsl;

import com.google.inject.Key;
import com.google.inject.TypeLiteral;
import com.google.inject.binder.ScopedBindingBuilder;

public interface ScopedBindingBuilderWithDecoration<T> extends
		ScopedBindingBuilder {

	ScopedBindingBuilderWithDecoration<T> decoratedWith(
			Class<? extends T> decoratorClass);

	ScopedBindingBuilderWithDecoration<T> decoratedWith(
			TypeLiteral<? extends T> decoratorTypeLiteral);

	ScopedBindingBuilderWithDecoration<T> decoratedWith(
			Key<? extends T> decoratorKey);
}
